﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using ComLib.Lang;


namespace FluentScript.IDE.Lib
{
    public interface IViewPart
    {
        /// <summary>
        /// The context information for each view part.
        /// </summary>
        ViewContext Context { get; set; }


        /// <summary>
        /// The name of this view part.
        /// </summary>
        string ViewType { get; set; }


        /// <summary>
        /// Initialize the ui.
        /// </summary>
        void Init();


        /// <summary>
        /// Updates the ui
        /// </summary>
        void Update();


        /// <summary>
        /// Shows the UI
        /// </summary>
        void Show();


        /// <summary>
        /// Hides this view part
        /// </summary>
        void Hide();


        /// <summary>
        /// Resets this view part.
        /// </summary>
        void Clear();
    }
}
